using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CraftingButton")]
	public class CraftingButton : PegUIElement
	{
		public Material undoMaterial => method_3<Material>("undoMaterial");

		public Material disabledMaterial => method_3<Material>("disabledMaterial");

		public Material enabledMaterial => method_3<Material>("enabledMaterial");

		public UberText labelText => method_3<UberText>("labelText");

		public MeshRenderer buttonRenderer => method_3<MeshRenderer>("buttonRenderer");

		public GameObject m_costObject => method_3<GameObject>("m_costObject");

		public Transform m_disabledCostBone => method_3<Transform>("m_disabledCostBone");

		public Transform m_enabledCostBone => method_3<Transform>("m_enabledCostBone");

		public bool isEnabled => method_2<bool>("isEnabled");

		public CraftingButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CraftingButton(IntPtr address)
			: this(address, "CraftingButton")
		{
		}

		public void DisableButton()
		{
			method_8("DisableButton");
		}

		public void EnterUndoMode()
		{
			method_8("EnterUndoMode");
		}

		public void EnableButton()
		{
			method_8("EnableButton");
		}

		public bool IsButtonEnabled()
		{
			return method_11<bool>("IsButtonEnabled", Array.Empty<object>());
		}

		public void OnEnabled(bool enable)
		{
			method_8("OnEnabled", enable);
		}
	}
}
